﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using XF.Meeting.Entity.CommonEntity;
using XF.Meeting.Entity.dbEntity;
using XF.Meeting.Entity.DTO;
using XF.Meeting.Entity.Query;
using XF.Meeting.Entity.View;

namespace XF.Sugar.IService
{
    public partial interface IGroupInfoService
    {
        Task<List<GroupInfoDTO>> GetGroupList();
        Task<PageList<GroupUserInfoDTO>> GetUserListByGroupId(UserQuery obj);
        Task<(bool,string)> Insert(GroupInfo obj);
        Task<(bool, string)> Delete(GroupInfo obj);
        Task<(bool, string)> AddUser(GroupInfo obj);
        Task<(bool, string)> RemoveUser(GroupInfo obj);
        Task<PageListMobile<GroupInfoDTO>> GetGroupForMobile(GroupQuery query);
        Task<List<GroupInfoDTO>> GetGroupByPID(GroupQuery query);
        Task<PageList<GroupInfoDTO>> GetGroupOne(GroupQuery query);
        Task<(bool, string)> AddGroup(GroupInfo entity);
        Task<(bool, string)> DeleteGroup(GroupInfo entity);
        Task<(bool, string)> UpdateGroup(GroupInfo entity);
        Task<(bool, string)> AddGroupUser(GroupInfo entity);
        Task<(bool, string)> UpdateGroupUser(GroupInfo entity);
        Task<PageList<UserInfoForSearch>> GetUserListByGroupIdAndKey(GroupQuery query);
        Task<PageList<UserInfoForSearch>> GetUserListByGroupIdForUpdate(GroupQuery query);
    }
}
